const fs = require("fs"); // 文件流, 是文件自己操作中自己实现的流, 文件流式继承与stream的,底层的实现是 fs.read, fs.open ...
const path = require("path")
const rs = fs.createReadStream(path.resolve(__dirname, "note.md"), {
  flags: "r",// r 读取, fs.open 用
  encoding: null,// 默认是buffer类型
  autoClose: true,// 读取完成后自动关闭
  emitClose: true, // 读取完毕后, 触发close事件
  start: 0,
  end: 5, // start end 标识就是从索引0-5的结果
  highWaterMark: 2 // 每次读取几个
})

rs.on("open", function (fd) { // 打开文件后传输一个 fd属性, open close是文件流特有的
  console.log(fd);

})
rs.on("close", function () {
  console.log("close");

})
const arr = [];
rs.on("data", function (data) { // 如果绑定了data事件, 会不停的触发data事件,将内部数据传递出来
  console.log(data);
  // rs.pause(); // 暂停,不要继续触发 data事件
  arr.push(data)
})
setInterval(() => {
  rs.resume(); // 回复触发 data事件
}, 1000)
rs.on("error", function (err) {
  console.log(err);

})
rs.on("end", function () {
  console.log(Buffer.concat(arr).toString());
})
